Portable electronic device and method for displaying large format data files

ABSTRACT

A portable electronic device includes a rendering circuit to visualize large format data files on a narrow display. The large format data files are rendered using either a desktop display mode or a mobile display mode. The desktop display mode renders the data file using data file-specified dimensions and resolutions. The data file is viewable in its entirety by automatic scrolling achieved by moving a cursor near the edge of the display. Data file elements may be edited while in desktop display mode. The mobile display mode renders the elements of the data file as a list with minimal regard for spatial orientation. Navigation in mobile display mode is field-to-field.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 12/794,814, filed Jun. 7, 2010, issued as U.S. Pat. No.8,171,421 on May 1, 2012. U.S. application Ser. No. 12/794,814 is acontinuation of U.S. patent application Ser. No. 11/700,176 filed Jan.31, 2007, issued as U.S. Pat. No. 7,761,807 on Jul. 20, 2010. Thecontents these references are hereby incorporated herein by reference.

RESERVATION OF COPYRIGHT

A portion of the disclosure of this patent document contains materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by any one of the patentdocument or patent disclosure, as it appears in the Patent and TrademarkOffice patent file or records, but otherwise reserves all copyrightswhatsoever.

FIELD OF THE INVENTION

Embodiments of the invention relate generally to portable electronicdevices and related methods.

BACKGROUND OF THE INVENTION

Portable electronic devices allow users to create, view, edit, receiveand transmit data files from wherever the user is located. Received orcreated data files include any type of data file, including but notlimited to emails, web pages, word processing documents, spreadsheetsand image files. Data files are rendered on a portable electronic devicedisplay so that a user may view them. Some data files, however, arecreated for visualization on a large display (e.g., a computer monitor)and are referred to herein as large format data files. Large format datafiles include web pages, images and spreadsheets. Web pages include, butare not limited to, files encoded using hypertext markup language(“html”) or extensible markup language (“xml”). Web pages include tagsthat instruct a web browser how to render and locate on the viewed pagetext and images associated with the page. Very often, web page tagsinclude instructions that are optimized for viewing the web page on alarge-screen display, such as a typical computer monitor.

For example, in FIG. 1A, a displayed web page 110 on a display 100includes tags instructing that image A be displayed at the top left ofthe web page 110 and that image B be displayed at the top right of theweb page 110. Image A and image B have predetermined dimensionsincluding horizontal dimensions x_(A) and x_(B), respectively. Thus, ifthe display width x_(D) is greater than the sum of the web pagehorizontal dimensions x_(A) and x_(B), the images A, B will be displayedas intended by the tags. However, if the display width x_(D) is lessthan the sum of the web page horizontal dimensions x_(A) and x_(B), asshown in FIG. 1B, then the images will not be properly displayed and canoverlap each other, for example. For at least this reason, web pages mayrequire further processing when being rendered on a narrow display suchas that used on a portable electronic device. Similarly, image files andspreadsheets may include images or fields that are wider than thedisplay width of a portable electronic device display. In general, largeformat data files include fields or image regions that are designed tobe viewed in their entirety and thus are ideally viewed on a displaysufficiently large to visualize the entire field or image regions.

Generally, a portable electronic device display is not sufficientlylarge enough to visualize an entire large format data file in the sameway that the large format data file is rendered on a large monitor.Accordingly, large format data files undergo additional processing stepsin order to render the files onto a portable electronic device display.For example, a large format data file may be viewed in its entirety on anarrow display if the dimensions of the fields or image regions arecorrespondingly reduced. Often, however, dimensional reduction resultsin an unreadable image that must be selected and enlarged by a user inorder to decipher the displayed data. Alternatively, a large format datafile is subdivided into user-selected frames for sequential viewing on anarrow display. The viewed frames, however, often detract from theentirety of the image or field to be viewed.

Accordingly, an improved portable electronic device and method fordisplaying large format data files on a reduced-size display isdesirable.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1A and 1B illustrate the rendering of a large format data file ona display;

FIGS. 2A and 2B illustrate a portable electronic device forcommunicating with a network in accordance with an embodiment disclosedherein;

FIGS. 3A-3D illustrate the rendering of a large format data file on adisplay in accordance with an embodiment disclosed herein;

FIG. 4 is a flowchart depicting how a user of a portable electronicdevice views a large format data file in accordance with an embodimentdisclosed herein;

FIG. 5 is a block diagram of an example portable electronic deviceconstructed in accordance with an embodiment disclosed herein;

FIGS. 6A-6F are representative screenshots of a large format data filerendered on a display in accordance with an embodiment disclosed herein;and

FIGS. 7A and 7B are representative screenshots of a large format datafile rendered on a display in accordance with an embodiment disclosedherein.

DETAILED DESCRIPTION OF THE INVENTION

Example embodiments and applications will now be described. It should beappreciated that other embodiments may be realized and structural orlogical changes may be made to the disclosed embodiments.

FIG. 2A illustrates a portable electronic device 210 that intelligentlyrenders large format data files in one of two different display modes.The portable electronic device 210 may be a dual mode (simultaneous dataand voice communication capabilities) or single mode communicationdevice, personal digital assistant, etc. such as the device 800described in further detail below in relation to FIG. 5. Such devicesinclude Blackberry™ devices by Research in Motion Limited of Ontario,Canada, or Palm® Treo™ devices by Palm, Inc. of California, U.S.A. toname a few. In addition, the portable electronic device 210 may be acellular telephone, etc. Large format data files are rendered usingeither a desktop display mode or a mobile display mode. The device 210includes a portable housing 212, a display 214 and input keys 216. Thedevice 210 also includes a depressible thumb navigator 222 (e.g., athumb wheel) and a level up button 224. The depressible thumb navigator222 is used by a user to navigate through menus and files visualized onthe display 214. Alternatively, a depressible trackball 218 may be usedto navigate through visualized menus and files. Desired menu options orfiles are selected by depressing the thumb navigator 222 or thetrackball 218. The level up button 224 allows the user to visualize anext higher menu or option screen. The input keys 216 are used to entertext to create or modify a file, the input text being visualized on thedisplay 214. The device 210 also includes a transceiver 232 forreceiving and transmitting data. Received data includes e.g., filesviewable on the display 214. Data to be transmitted includes e.g., datainput into the device 210 using the input keys 216. The device 210includes a battery 234 to supply power to internal circuitry, thedisplay 214 and for generating electrical signals in response tooperation of the input keys 216, the thumb navigator 222, the level upbutton 224, the trackball 218 and the transceiver 232.

Portable electronic device 210 is configured to establish a connection280 with a network 290, as illustrated in FIG. 2B. The network 290 maybe a private or public network (e.g., the Internet). The connection 280with the network 290 is preferably wireless, and thus utilizes at leastone of a plurality of nodes 287, such as a base station, within awireless network 285. Data files 292 are uploaded from and downloaded tothe device 210 from the network 290 via the wireless network nodes 287.Data files 292 include any type of data file, including but not limitedto emails, web pages, word processing documents, spreadsheets and imagefiles. Data files 292 are rendered on the display 214 so that a user mayview them. Some data files 292, for example, web pages, spreadsheets andimages, are created for visualization on a large display (e.g., acomputer monitor) and are herein referred to as large format data files.

A rendering circuit 236 is included in the device 210. When a userspecifies that a data file 292 a is to be viewed on the display 214, therendering circuit 236 analyzes and processes the data file 292 a forvisualization on the display 214. Certain types of data files,specifically large format data files such as web pages, image files andspreadsheets, are rendered by the rendering circuit 236 to be displayedin either the desktop display mode or the mobile display mode. Therendering circuit 236 may be implemented as hardware, software, or as acombination of both hardware and software.

In the desktop display mode, as illustrated in FIG. 3A, a large formatdata file 350 is rendered as it would be on an imaginary large display,with only a portion 352 of the rendered file being viewable on thedisplay 214. The viewable portion 352 shows elements 356 such as fieldC, link D and images A, B of the large format data file 350 usingpredetermined dimensions and resolutions as specified in the largeformat data file 350 (e.g., formatting instructions included in the tagsof an html page). Thus, the elements 356 of the large format data file350 visible in the viewable portion 352 are easily discernable becausethe elements 356 are viewed using the original element size andresolution. The file-specified spatial relationship between the elements356 is also apparent to the user.

When the user desires to see additional non-visible portions of thelarge format data file 350, including elements E and F, the useroperates the trackball 218, for example, to move a cursor 354 on thedisplay 214. By operating the trackball 218, the cursor 354 is moved inany direction on the display 214, including vertically, horizontally anddiagonally. The trackball 218 moves the cursor 354 smoothly andprecisely with control equal to a resolution of the display 214. Usingthe trackball 218, the user moves the cursor 354 in the direction of thenon-visible portions of the large format data file 350 that the userdesires to view. When the cursor nears an edge of the display 214, theviewable portion 352 automatically scrolls in the direction of theapproached edge. The scrolling is smooth and equal in resolution to theresolution of the display 214. The user may scroll the viewable portion352 to any part of the large format data file 350 by moving the cursor354 in the appropriate directions. For example, if the user moves thecursor 354 near the right edge of the display 214, the viewable portion352 will scroll to the right until the user either moves the cursor 354away from the edge of the display 214 or the right edge of the rendereddata file is viewed. Similarly, the user may scroll the viewable portion352 downward, upward or to the left by moving the cursor 354 near thelower, upper or left edges of the display 214, respectively. A user mayscroll the viewable portion 352 diagonally by moving the cursor 354 nearany corner of the display 214.

Screenshots demonstrating the desktop display mode and navigation viaautomatic scrolling are shown in FIGS. 6A and 6B. In FIG. 6A, a largeformat data file similar in layout to the large format data file 350 ofFIG. 3A is rendered onto the display 214. The viewable portion includesimage A, field C and link D. A horizontal scroll bar 610 and a verticalscroll bar 615 indicate the relative position of the viewable portion inrelation to the entire large format data file. In FIG. 6A, the positionof the horizontal scroll bar 610 indicates that additional viewableportions exist to the right of the currently viewable portion. In orderto visualize the unseen viewable portions, the user moves the cursor 354near the right edge of the display 214. Once the cursor 354 nears theedge, the viewable portion automatically scrolls in the direction of theapproached edge. By scrolling to the right, the viewable portion revealsimage B, as shown in FIG. 6B. The position of the horizontal scroll bar610 and the vertical scroll bar 615 indicates to the user thatadditional unviewed portions exist to the right of and also below thecurrent viewable portion. These may again be visualized by moving thecursor 354 near the right and lower edges of the display 214,respectively.

While in the desktop display mode, the user may use the trackball 218 tomove the cursor 354 to an editable field C in the viewable portion 352of the large format data file 350 (see FIGS. 3A and 6C). When the cursor354 is near the editable field C, the cursor 354 “snaps” to the editablefield C, highlighting the field C and indicating that the field C can beedited (the cursor 354 changes form to, e.g., an I-bar, to indicate thatthe field is able to be edited). The user may then edit the field C byusing either the input keys 216 or the depressible thumb navigator 222.When the user has completed editing the field C or if the user did notdesire to edit the field C, the user moves the cursor 354 with thetrackball 218 away from the editable field C in order to continuenavigating the viewable portion 352 of the large format data file 350.

The user may also utilize active links D visible on the viewable portion352 (see FIGS. 3A and 6D). When the user moves the cursor 354 using thetrackball 218 to an active link D, the cursor 354 changes so as toindicate that the link D is an active link. The user may select the linkD by using either the depressible thumb navigator 222 or by depressingthe trackball 218. Selection of the link D triggers a series of actionsspecified by the link D including, but not limited to, opening anadditional data file.

While in the desktop display mode, the user may also access a file orpage overview map 360, as illustrated in FIGS. 3B and 6E. A file or pageoverview map 360 is a completely zoomed-out view of the large formatdata file 350 (i.e., the entire contents of the file is shown on thedisplay 214). The file or page overview map 360 is accessed by using theinput keys 216 or selecting the access option from a menu using eitherthe thumb navigator 222 or the trackball 218. The file or page overviewmap also includes a box 358. The user moves the box 358 using thetrackball 218 to any point on the displayed file or page overview map360. By depressing either the thumb navigator 222 or the trackball 218while the box 358 is at any point on the viewed file or page overviewmap 360, the rendering circuit 236 automatically zooms-in on thetargeted area enclosed by the box 358. The targeted area is renderedusing the file-specified resolution and dimensions.

The box 358 may also be used to incrementally zoom-in on a targetedarea. While in the desktop display mode, the user may change the viewingdimensions and resolutions by either zooming in or out of the viewableportion 352. In one example embodiment, to zoom in, the user moves thebox 358 to enclose an area desired to be viewed in greater detail, asillustrated in FIGS. 3C and 6E. Once the box 358 is positioned, the userindicates a desire to zoom-in on the targeted area by depressing eitherthe thumb navigator 222 or the trackball 218, and the viewable portion352 adjusts to present a zoomed-in view of the box 358 in the display214. The targeted area may be zoomed-in completely, as shown in FIG. 3C,or may only be incrementally enlarged, as is shown in FIG. 6F.Incremental zoom may use a predetermined value (e.g., 150%) or may beselected by the user from a list of values. The user may always zoom-outof the viewable region 352 by choosing this option (by any availableinput mechanism on the device 210 or display 214) whereupon the display214 automatically zooms-out from the center of the viewable region 352using a predetermined value (e.g., 50%).

As an alternative to viewing the large format data file 350 in thedesktop display mode, the rendering circuit 236 may render the largeformat data file 350 in the mobile display mode. FIG. 3D illustrates thelarge format data file 350 being rendered on the display 214 using themobile display mode. In the mobile display mode, field C, link D andimages A, B in the large format data file 350 are not displayed usingthe data file's predetermined element dimensions and resolutions.Instead, field C, link D and images A, B of the large format data file350 are viewed as a list 370 of field C, link D and images A, B withminimal regard to the original spatial relationships between the largeformat data file elements 356. Moreover, images A and B are reduced insize, as necessary, from their large format size to fit within thedimensions of display 214. In other embodiments, images A and B can berendered at their large format size, or at a size that is reduced orincreased with respect to their large format size. The user navigatesthrough the list 370 of elements 356 by using the thumb navigator 222 orthe trackball 218. In the mobile display mode, the thumb navigator 222and the trackball 218 are used to sequentially highlight each element356 in the list 370. Highlighting a specific element 356 requiressequentially highlighting each element 356 until the desired element 356is highlighted. If the highlighted element 356 is an editable field C,the field C may be edited using either the input keys 216, thedepressible thumb navigator 222 or by depressing the trackball 218.Images A, B are also displayed within the list 370. An image A, B may beselected for full resolution viewing by highlighting the image A, B inthe list 370 using either the thumb navigator 222 or the trackball 218and then selecting the image A, B for viewing using either the thumbnavigator 222 or by depressing the trackball 218. The image A, B is thenrendered onto the display as an individual element; no information aboutthe image's neighboring elements is conveyed. The user may zoom-in orout of the rendered image A, B by predetermined amounts (e.g., 150% or50%, respectively). Once the user is finished viewing the image A, B,the user returns to the list 370 shown on the display 214.

FIGS. 7A and 7B show screenshots demonstrating the mobile display mode.In FIG. 7A, a large format data file similar in layout to the largeformat data file 350 of FIG. 3D is rendered onto the display 214. Theviewable portion includes images A and B, rendered as a list withoutregard to the horizontal spacing defined by the large format data file.A vertical scroll bar 615 indicates that the list continues below thecurrently viewable portion. By using field-to-field navigation, the useris able to scroll down through the list to reveal additional elements ofthe large format data file, as shown in FIG. 7B. FIG. 7B shows bothfield C and link D, accessible via field-to-field navigation. Thedisplay 214, as shown in FIGS. 7A and 7B, does not include a horizontalscroll bar in mobile display mode as horizontal scrolling is notavailable in the mobile display mode.

The mobile display mode also includes active links D in the displayedlist 370. As with editable fields C, active links D may be highlightedusing either the trackball 218 or the thumb navigator 222 and thenselected using either the thumb navigator 222 or by depressing thetrackball 218. Selecting the link D triggers the actions associated withthe link D. FIG. 7B shows that field C is currently selected orhighlighted, indicating that field C may be edited. The user may selectlink D by moving, field-to-field, from field C to link D.

The two display modes are used jointly to enhance the user's ability toview and edit large format data files on the portable electronic device210. The desktop display mode presents spatial information in a way thatallows the user to easily scroll through the data file to see the entiredata file in a viewable resolution. Elements of a data file aredisplayed in their proper positions. Fields may be edited if viewed andselected, but navigation of the viewed data file is not limited tofield-to-field navigation. On the other hand, the mobile display mode isideal for quickly viewing data files wherein the user does not requireor already has an understanding of the spatial relationships betweenelements of the data file. Navigation is field-to-field, orlink-to-link, allowing the user to quickly navigate and edit fieldswithout the necessity of looking for the fields in multiple dimensions.

The user of the portable electronic device 210 may configure the device210 to always open specific types of large format data files using auser-selected display mode. For example, the user may designate that allhtml, xml and image files should be initially displayed using thedesktop display mode. Other large format files, such as spreadsheets,may be initially displayed using the mobile display mode. Alternatively,instead of manually configuring the device 210, the user may allow thedevice 210 to “learn” from the user's viewing preferences andautomatically determine a default configuration. For example, if theuser consistently views image files or web pages using the desktopdisplay mode, the device 210 will configure itself to automatically openimage files and web pages using the desktop display mode.

The user may also alternate between display modes. While viewing a datafile in desktop display mode, the user may choose to switch to mobiledisplay mode. The user switches modes by either using the input keys 216or using the thumb navigator 222 to signal the rendering circuit 236 tochange to mobile display mode. The user may also switch from mobiledisplay mode to desktop display mode using the same procedure. The userinputs may be through menu selections or the activation of a switchmodes field on the display 214.

FIG. 4 illustrates a method 400 for viewing and editing large formatdata files on a display of a portable electronic device. The method 400may be run in a rendering circuit 890 (FIG. 5), by another circuit orprocessor within the portable device, by rendering software 895 (FIG. 5)or by a combination of hardware such as a circuit or a processor andsoftware. The method 400 includes an initial determination 410 ofwhether a data file to be viewed is a large format data file. Thedetermination 410 may be made based on a user-defined specification(e.g., the user specifies that all html, xml and image files are to beautomatically displayed using the desktop display mode) or a defaultsetting for the device. If the data file is not a large format datafile, the data file is rendered according to some other method specificto the category of data file (block 415). On the other hand, once thedata file is determined to be a large format data file, then a seconddetermination 420 is made as to how the large format data file is to berendered on the display. This second determination 420 may be made basedon user-defined specifications, device default settings or settingslearned from recorded user behavior. In other words, the device mayconfigure itself based on user preferences recorded each time the userviews a large format data file. In other embodiments, the user may beasked to make a choice manually through the use of, for example, adialog box presented to the user on the display 214. In any of thesescenarios, the device determines whether the data file to be viewed isto be rendered using the desktop display mode (block 430) or the mobiledisplay mode (block 440).

If the data file is rendered using the desktop display mode (block 430),the device outputs a viewable portion of the data file on the display(block 432). The viewable portion is a portion of the entire rendereddata file as it would appear on a large display (see e.g., FIG. 3A).Specifically, the elements of the data file are rendered using thedimensions, resolution and spatial configuration specified in the datafile. The viewable portion shows only a portion of the rendered datafile, but shows it using a resolution that makes it easy for a user todiscern each element on the viewable portion. When the user desires tosee other viewable portions of the rendered data file, the user moves anon-screen cursor in the direction of the unviewed portions of the datafile which is input by the device (block 434). As the cursor is movednear an edge of the display, the device automatically scrolls theviewable portion in the direction of the approached edge to revealpreviously unviewed portions of the rendered data file (see e.g., FIG.3B). The viewable portion may be scrolled in any direction, includinghorizontally, vertically and diagonally based on the input movement ofthe cursor.

In the desktop display mode (block 430), the device may display bothactive links (block 436) as well as editable fields (block 438). Whenthe user moves the cursor to or near an active link visible on theviewable portion, the device changes the appearance of the cursor so asto indicate to the user that the link is active and that selecting thelink will trigger events associated with the link. When the user movesthe cursor to or near an editable field, the device “snaps” the cursorto the editable field. The editable field is highlighted and the cursorchanges to indicate that the user may edit the field by, for example,inputting text or selecting a displayed option. The field is unselectedwhen the cursor is moved away from the field.

In the desktop display mode (block 430), the device is also capable ofdisplaying a page overview map (block 437) and zooming-in on a selectedarea of the page overview map (block 439). In block 437, the userchooses to access a file or page overview map, a completely zoomed-outview of the data file. The page overview map is accessed by using inputkeys or by selecting the access option from a menu. The page overviewmap also includes a box. The user can move the box to any point on thedisplayed page overview map and then select the boxed area for azoomed-in view of the enclosed box (block 439). In response to theuser's selection the display zooms-in on the targeted area enclosed bythe box. The targeted area is rendered using the file-specifiedresolution and dimensions. Alternatively, the targeted area may bezoomed-in incrementally, meaning that the targeted area is renderedusing a resolution appropriate for the zoom level. The user may alsoinstruct the display to zoom-out of the targeted area.

If the data file is rendered using the mobile display mode (block 440),the data file is parsed into fields and images by the device. The fieldsand images are displayed as a list (e.g., list 370 shown in FIG. 3D) ofselectable elements requiring no horizontal scrolling in order tovisualize the elements (block 442). The device allows a user to navigatethe list by recognizing when a user moves a highlighted region fromfield-to-field or link-to-link, as displayed in the list by the device(block 444). When an element is highlighted, it may be edited if it isan editable field (block 448) or selected if it is an active link (block446).

Based on a user request, the device may switch 450 between the desktopdisplay mode (block 430) and the mobile display mode (block 440) at anytime. Moreover, if a different large format data file is to be displayedwhile the first large format data file is being viewed in a specificdisplay mode, the display mode automatically switches to the preferreddisplay mode for the second large format data file when the second largeformat data file is displayed. When the second large format data file isno longer to be displayed, it may be closed and the original largeformat data file is displayed using the same display mode that was usedjust prior to the displaying of the second large format data file.

Referring now to FIG. 5, a block diagram of a portable electronic device800 is illustrated. Portable electronic device 800 is an example ofportable electronic device 210. The portable electronic device 800includes a rendering circuit 890 for rendering large format data filesin either desktop display mode or mobile display mode, as describedabove. The rendering circuit 890 is responsive to rendering software 895which instructs the rendering circuit to render large format data filesas described above.

The portable electronic device 800 includes a number of other componentssuch as a main processor 802 that controls the overall operation of theportable electronic device 800. Communication functions, including dataand voice communications, are performed through a communicationsubsystem 804. The communication subsystem 804 receives messages fromand sends messages to a wireless network 850. In this example embodimentof the portable electronic device 800, the communication subsystem 804is configured in accordance with the Global System for MobileCommunication (GSM) and General Packet Radio Services (GPRS) standards.The GSM/GPRS wireless network is used worldwide and it is expected thatthese standards will be superseded eventually by Enhanced Data GSMEnvironment (EDGE) and Universal Mobile Telecommunications Service(UMTS). New standards are still being defined, but it is believed thatthey will have similarities to the network behavior described herein,and it will also be understood by persons skilled in the art that theembodiments described herein are intended to use any other suitablestandards that are developed in the future. The wireless link connectingthe communication subsystem 804 with the wireless network 850 representsone or more different Radio Frequency (RF) channels, operating accordingto defined protocols specified for GSM/GPRS communications. With newernetwork protocols, these channels are capable of supporting both circuitswitched voice communications and packet switched data communications.

Although the wireless network 850 associated with portable electronicdevice 800 is a GSM/GPRS wireless network in one example implementation,other wireless networks may also be associated with the portableelectronic device 800 in variant implementations. The different types ofwireless networks that may be employed include, for example,data-centric wireless networks, voice-centric wireless networks, anddual-mode networks that can support both voice and data communicationsover the same physical base stations. Combined dual-mode networksinclude, but are not limited to, Code Division Multiple Access (CDMA) orCDMA2000 networks, GSM/GPRS networks (as mentioned above), and futurethird-generation (3G) networks like EDGE and UMTS. Some other examplesof data-centric networks include WiFi 802.11, Mobitex™ and DataTAC™network communication systems. Examples of other voice-centric datanetworks include Personal Communication Systems (PCS) networks like GSMand Time Division Multiple Access (TDMA) systems.

The main processor 802 also interacts with additional subsystems such asa Random Access Memory (RAM) 806, a flash memory 808, a display 810which in this example includes the rendering circuit 890, an auxiliaryinput/output (I/O) subsystem 812, a data port 814, a keyboard 816, aspeaker 818, a microphone 820, short-range communications 822 and otherdevice subsystems 824. Rendering circuit 890 can alternatively be aseparate subsystem that communicates with both the main processor 802and the display 814.

Some of the subsystems of the portable electronic device 800 performcommunication-related functions, whereas other subsystems may provide“resident” or on-device functions. By way of example, the display 810and the keyboard 816 may be used for both communication-relatedfunctions, such as entering a text message for transmission over thenetwork 850, and device-resident functions such as a calculator or tasklist.

The portable electronic device 800 can send and receive communicationsignals over the wireless network 850 after required networkregistration or activation procedures have been completed. Networkaccess is associated with a subscriber or user of the portableelectronic device 800. To identify a subscriber, the portable electronicdevice 800 requires a SIM/RUIM card 826 (i.e. Subscriber Identity Moduleor a Removable User Identity Module) to be inserted into a SIM/RUIMinterface 828 in order to communicate with a network. The SIM card orRUIM 826 is one type of a conventional “smart card” that can be used toidentify a subscriber of the portable electronic device 800 and topersonalize the portable electronic device 800, among other things.Without the SIM card 826, the portable electronic device 800 is notfully operational for communication with the wireless network 850. Byinserting the SIM card/RUIM 826 into the SIM/RUIM interface 828, asubscriber can access all subscribed services. Services may include: webbrowsing and messaging such as e-mail, voicemail, Short Message Service(SMS), and Multimedia Messaging Services (MMS). More advanced servicesmay include: point of sale, field service and sales force automation.The SIM card/RUIM 826 includes a processor and memory for storinginformation. Once the SIM card/RUIM 826 is inserted into the SIM/RUIMinterface 828, it is coupled to the main processor 802. In order toidentify the subscriber, the SIM card/RUIM 826 can include some userparameters such as an International Mobile Subscriber Identity (IMSI).An advantage of using the SIM card/RUIM 826 is that a subscriber is notnecessarily bound by any single physical mobile device. The SIMcard/RUIM 826 may store additional subscriber information for a mobiledevice as well, including datebook (or calendar) information and recentcall information. Alternatively, user identification information canalso be programmed into the flash memory 808.

According to a preferred embodiment, the portable electronic device 800is a battery-powered device and includes a battery interface 832 forreceiving one or more rechargeable batteries 830. In at least someembodiments, the battery 830 can be a smart battery with an embeddedmicroprocessor. The battery interface 832 is coupled to a regulator (notshown), which assists the battery 830 in providing power V+ to theportable electronic device 800. Although current technology makes use ofa battery, future technologies such as micro fuel cells may provide thepower to the portable electronic device 800.

The portable electronic device 800 also includes an operating system 834and software components 836 to 846, 895 which are described in moredetail below. The operating system 834 and the software components 836to 846, 895 that are executed by the main processor 802 are typicallystored in a persistent storage such as the flash memory 808, which mayalternatively be a read-only memory (ROM) or similar storage element(not shown). Those skilled in the art will appreciate that portions ofthe operating system 834 and the software components 836 to 846, 895such as specific device applications, or parts thereof, may betemporarily loaded into a volatile store such as the RAM 806. Othersoftware components can also be included, as is well known to thoseskilled in the art.

The subset of software applications 836 that control basic deviceoperations, including data and voice communication applications, willnormally be installed on the portable electronic device 800 during itsmanufacture. Other software applications include a message application838 that can be any suitable software program that allows a user of theportable electronic device 800 to send and receive electronic messages.Various alternatives exist for the message application 838 as is wellknown to those skilled in the art. Messages that have been sent orreceived by the user are typically stored in the flash memory 808 of theportable electronic device 800 or some other suitable storage element inthe portable electronic device 800. In at least some embodiments, someof the sent and received messages may be stored remotely from theportable electronic device 800 such as in a data store of an associatedhost system that the portable electronic device 800 communicates with.

The software applications can further include a device state module 840a Personal Information Manager (PIM) 842, and other suitable modules(not shown). The device state module 840 provides persistence, i.e. thedevice state module 840 ensures that important device data is stored inpersistent memory, such as the flash memory 808, so that the data is notlost when the portable electronic device 800 is turned off or losespower.

The PIM 842 includes functionality for organizing and managing dataitems of interest to the user, such as, but not limited to, e-mail,contacts, calendar events, voicemails, appointments, and task items. APIM application has the ability to send and receive data items via thewireless network 850. PIM data items may be seamlessly integrated,synchronized, and updated via the wireless network 850 with the mobiledevice subscriber's corresponding data items stored and/or associatedwith a host computer system. This functionality creates a mirrored hostcomputer on the portable electronic device 800 with respect to suchitems. This can be particularly advantageous when the host computersystem is the mobile device subscriber's office computer system.

The portable electronic device 800 also includes a connect module 844,and an IT policy module 846. The connect module 844 implements thecommunication protocols that are required for the portable electronicdevice 800 to communicate with the wireless infrastructure and any hostsystem, such as an enterprise system, that the portable electronicdevice 800 is authorized to interface with.

The connect module 844 includes a set of APIs that can be integratedwith the portable electronic device 800 to allow the portable electronicdevice 800 to use any number of services associated with the enterprisesystem. The connect module 844 allows the portable electronic device 800to establish an end-to-end secure, authenticated communication pipe withthe host system. A subset of applications for which access is providedby the connect module 844 can be used to pass IT policy commands fromthe host system to the portable electronic device 800. This can be donein a wireless or wired manner. These instructions can then be passed tothe IT policy module 846 to modify the configuration of the portableelectronic device 800. Alternatively, in some cases, the IT policyupdate can also be done over a wired connection.

The IT policy module 846 receives IT policy data that encodes the ITpolicy. The IT policy module 846 then ensures that the IT policy data isauthenticated by the portable electronic device 800. The IT policy datacan then be stored in the flash memory 806 in its native form. After theIT policy data is stored, a global notification can be sent by the ITpolicy module 846 to all of the applications residing on the portableelectronic device 800. Applications for which the IT policy may beapplicable then respond by reading the IT policy data to look for ITpolicy rules that are applicable.

The IT policy module 846 can include a parser (not shown), which can beused by the applications to read the IT policy rules. In some cases,another module or application can provide the parser. Grouped IT policyrules, described in more detail below, are retrieved as byte streams,which are then sent (recursively, in a sense) into the parser todetermine the values of each IT policy rule defined within the groupedIT policy rule. In at least some embodiments, the IT policy module 846can determine which applications are affected by the IT policy data andsend a notification to only those applications. In either of thesecases, for applications that aren't running at the time of thenotification, the applications can call the parser or the IT policymodule 846 when they are executed to determine if there are any relevantIT policy rules in the newly received IT policy data.

All applications that support rules in the IT Policy are coded to knowthe type of data to expect. For example, the value that is set for the“WEP User Name” IT policy rule is known to be a string; therefore thevalue in the IT policy data that corresponds to this rule is interpretedas a string. As another example, the setting for the “Set MaximumPassword Attempts” IT policy rule is known to be an integer, andtherefore the value in the IT policy data that corresponds to this ruleis interpreted as such.

After the IT policy rules have been applied to the applicableapplications or configuration files, the IT policy module 846 sends anacknowledgement back to the host system to indicate that the IT policydata was received and successfully applied.

Rendering software 895 is used to control the rendering circuit 890 torender large format data files in either the desktop display mode or themobile display mode, as discussed above. In general, data file renderingis fully controlled by either the rendering circuit 890, the renderingsoftware 895 or a combination of both the rendering circuit 890 andsoftware 895.

Other types of software applications can also be installed on theportable electronic device 800. These software applications can be thirdparty applications, which are added after the manufacture of theportable electronic device 800. Examples of third party applicationsinclude games, calculators, utilities, etc.

The additional applications can be loaded onto the portable electronicdevice 800 through at least one of the wireless network 850, theauxiliary I/O subsystem 812, the data port 814, the short-rangecommunications subsystem 822, or any other suitable device subsystem824. This flexibility in application installation increases thefunctionality of the portable electronic device 800 and may provideenhanced on-device functions, communication-related functions, or both.For example, secure communication applications may enable electroniccommerce functions and other such financial transactions to be performedusing the portable electronic device 800.

The data port 814 enables a subscriber to set preferences through anexternal device or software application and extends the capabilities ofthe portable electronic device 800 by providing for information orsoftware downloads to the portable electronic device 800 other thanthrough a wireless communication network. The alternate download pathmay, for example, be used to load an encryption key onto the portableelectronic device 800 through a direct and thus reliable and trustedconnection to provide secure device communication.

The data port 814 can be any suitable port that enables datacommunication between the portable electronic device 800 and anothercomputing device. The data port 814 can be a serial or a parallel port.In some instances, the data port 814 can be a USB port that includesdata lines for data transfer and a supply line that can provide acharging current to charge the battery 830 of the portable electronicdevice 800.

The short-range communications subsystem 822 provides for communicationbetween the portable electronic device 800 and different systems ordevices, without the use of the wireless network 850. For example, thesubsystem 822 may include an infrared device and associated circuits andcomponents for short-range communication. Examples of short-rangecommunication standards include standards developed by the Infrared DataAssociation (IrDA), Bluetooth, and the 802.11 family of standardsdeveloped by IEEE.

In use, a received signal such as a text message, an e-mail message, orweb page download will be processed by the communication subsystem 804and input to the main processor 802. The main processor 802 will thenprocess the received signal for output to the display 810 via renderingcircuit 890 or using rendering software 895. A subscriber may alsocompose data items, such as e-mail messages, for example, using thekeyboard 816 in conjunction with the display 810 and possibly theauxiliary I/O subsystem 812. The auxiliary subsystem 812 may includedevices such as: a touch screen, mouse, depressible trackball, infraredfingerprint detector, a depressible thumb navigator or other buttons.The keyboard 816 is preferably an alphanumeric keyboard and/ortelephone-type keypad. However, other types of keyboards may also beused. A composed item may be transmitted over the wireless network 850through the communication subsystem 804.

For voice communications, the overall operation of the portableelectronic device 800 is substantially similar, except that the receivedsignals are output to the speaker 818, and signals for transmission aregenerated by the microphone 820. Alternative voice or audio I/Osubsystems, such as a voice message recording subsystem, can also beimplemented on the portable electronic device 800. Although voice oraudio signal output is accomplished primarily through the speaker 818,the display 810 can also be used to provide additional information suchas the identity of a calling party, duration of a voice call, or othervoice call related information.

Although the embodiments and applications as described above relate to aportable electronic device, it should be understood that they may alsobe embodied in and applied with any electronic device that has a narrowdisplay for visualizing large format data files. Additionally, althougha trackball has been specifically used in the figures and descriptionabove, other embodiments of the invention exist wherein a trackball isreplaced by other high resolution cursor control devices, including butnot limited to joysticks and touchpads. Furthermore, as explained above,the functionalities of the described rendering circuit may beimplemented as either hardware, software or a combination of bothhardware and software.

Specific embodiments and applications related to the above descriptioninclude, but are not limited to, a method of displaying large formatdata files on a display of a portable electronic device. The largeformat data files have predetermined dimensions and resolution. Themethod includes entering a first mode to render a viewable portion of alarge format data file on the display using the large format data file'spredetermined dimensions and resolution. The method also includesdisplaying non-viewable portions of the large format data file inresponse to a user moving a cursor on the display near an edge of theviewable portion of the large format data file. The non-viewableportions are displayed by automatically scrolling the viewable portionin the direction of the approached edge to reveal an updated viewableportion of the large format data file.

An additional embodiment and application includes a system fordisplaying large format data files on a portable electronic device. Thesystem includes a display for displaying large format data files. Thesystem also includes a processor for controlling the display. Theprocessor controls the display in a first display mode wherein thedisplay shows a viewable portion of a large format data file using afile-specified resolution. A user is also enabled to view and edit thelarge format data file while the processor controls the display in thefirst display mode. The processor also controls the display in a seconddisplay mode wherein the display shows a plurality of fields of thelarge format data file as a list of editable fields.

A portable electronic device is also included as an embodiment of theabove description. The portable electronic device includes a portablehousing, a display mounted on the portable housing and a trackball formanipulating a cursor viewable on the display. The trackball is alsomounted on the portable housing. The device further includes electroniccircuitry to render data files on the display. The electronic circuitryis mounted in the portable housing. The device includes a renderingapplication for instructing the electronic circuitry to render a largeformat data file on the display using a plurality of display modes. Onedisplay mode is a desktop display mode, wherein the device displays aviewable portion of a large format data file on the display using afile-specified resolution. In the desktop display mode, the user isenabled to view and edit the large format data file. Another displaymode is a mobile display mode, wherein the device displays a pluralityof fields of the large format data file as a list of editable fields.

Further embodiments described include a rendering application forrendering a large format data file onto a display. The renderingapplication includes instructions to direct a processor to render aviewable portion of the large format data file onto the display whereinthe viewable portion is rendered with a resolution specified by thelarge format data file. Also included are instructions to direct aprocessor to render a cursor onto the display. Additionally, therendering application includes instructions to direct a processor torender non-viewable portions of the large format data file in responseto a user-directed movement of the cursor towards an edge of the displayresulting in the non-viewable portions being automatically scrolled ontothe display from the direction of the approached edge.

An additional embodiment described is a user interface for displaying alarge format data file. The user interface includes displaying means fordisplaying a viewable portion of the large format data file. Horizontalscrolling means are provided for horizontally shifting the viewableportion of the large format data file visible on the displaying means.The horizontal scrolling means include a cursor that, when moved near anedge of the displaying means, shifts the viewable portion of the largeformat data file in the direction of the approached edge. The userinterface also includes editing means for editing fields displayed bythe displaying means.

A further embodiment includes a browser for displaying a large formatdata file on a display. The browser includes a selection tool configuredto allow a user to select between a desktop display mode and a mobiledisplay mode. If the desktop display mode is selected, the browser alsoincludes a cursor for shifting a viewable portion of the large formatdata file to any region of the large format data file. The viewableportion is shifted automatically as a result of the cursor being movednear an edge of the display. The cursor is also used to select fieldsvisible on the viewable portion of the large format data file.Additionally, if the desktop display mode is selected, the browserincludes a highlighted region to indicate that a field has been selectedfor editing. Conversely, if the mobile display mode is selected, thebrowser includes a vertically-arranged list of fields from the largeformat data file as well as a highlighted region to navigate from fieldto field within the list of fields.

Other examples, embodiments and applications related to the abovedescription but not heretofore explained in detail are neverthelessconsidered pertinent and are to be considered within the scope of thefollowing claims.

What is claimed is:
 1. A method of presenting a large format data filecomprising elements arranged in a file-specified spatial relationship,on a display of an electronic device, the method comprising: in a firstdisplay mode rendering the elements from the large format data file as avertical list without maintaining the file-specified spatialrelationship between the elements; and in a second display moderendering the large format data file with the elements in thefile-specified spatial relationship, the second display mode permittingmoving of a viewable portion of the large format data file withinboundaries of the display to reveal non-visible portions of the largeformat data file, and zooming in or out on a region of the large formatdata file, the first and second display modes being switchable inresponse to a user selection.
 2. The method of claim 1, furthercomprising, when in the first display mode, receiving selection of oneof the elements and, in response to the selection, indicating that theone of the elements is an editable field.
 3. The method of claim 1,further comprising storing a preferred initial display among the firstand second display modes for the device, the preferred initial displaymode automatically invoked when displaying a new data file.
 4. Themethod of claim 1, wherein one of the elements comprises an active link,and the method further comprises linking to an additional data file inresponse to selection of the active link.
 5. An electronic devicecomprising: a display; and a processor for controlling the display, theprocessor configured to cause the display in a first display mode torender a large format data file comprising elements having afile-specified spatial relationship between the elements, with theelements presented as a vertical list without maintaining thefile-specified spatial relationship between the elements, the processorconfigured to switch the display between the first display mode and asecond display mode in response to a selection signal, the processorconfigured to cause the display to render the large format data file inthe second display mode with the elements maintained in thefile-specified spatial relationship, the second display mode permittingmoving of a viewable portion of the large format data file withinboundaries of the display to reveal non-visible portions of the largeformat data file, and zooming in or out on a region of the large formatdata file.
 6. The electronic device of claim 5, further comprising anon-transitory memory storing a rendering application, the renderingapplication including program instructions which, when executed by theprocessor, causes the display to operate in the first display mode andthe second display mode.
 7. The device of claim 6, wherein the renderingapplication is configured to store a preferred initial display mode whendisplaying a new data file.
 8. A mobile communications device,comprising: a network interface; a display; and a processor coupled tothe network interface and configured to cause the device to receive alarge format data file comprising elements having a file-specifiedspatial relationship between the elements from a communications network,the processor configured to cause the display in a first display mode torender the large format data file with the elements presented as avertical list without maintaining the file-specified spatialrelationship between the elements, the processor configured to switchthe display between the first display mode and a second display mode inresponse to a selection signal, the processor configured to cause thedisplay in the second display mode to render the large format data filewith the elements maintained in the file-specified spatial relationship,the second display mode permitting moving of a viewable portion of thelarge format data file within boundaries of the display to revealnon-visible portions of the large format data file, and zooming in orout on a region of the large format data file.